<?php
/**
 * Formulário padrão
 */
class App_Form_Unidade extends Voitech_Form
{
	public function __construct($options=array())
	{
		parent::__construct($options);
		
		$this->setAttribs(array('name'=>'frmCadastroUnidade', 'id'=>'frmCadastroUnidade', 'class'=>'form last-child'));
		
		// add id element
        $this->addElement('hidden', 'co_unidade');
        
        // remove id's decorators
        $this->getElement('co_unidade')
            ->removeDecorator('DtDdWrapper')
            ->removeDecorator('HtmlTag')
            ->removeDecorator('Label');

        $tipoUnidade= new Zend_Form_Element_Select( 'co_tipo_unidade' );
		$tipoUnidade->setLabel( 'Tipo de Unidade:' )
                   ->addMultiOptions( array( 1=>'PSF', 2=>'UBS', 3=>'Ação Judiciária' ) )
                   ->addFilter( new Zend_Filter_StringTrim() )
                   ->setDecorators( $this->_decoratorDefault )
                   ->setRequired( false );                
        $this->addElement( $tipoUnidade);            
            
		$noUnidade 	= new Zend_Form_Element_Text( 'no_unidade' );
		$noUnidade->setLabel( 'Unidade/Nome:' )
				 ->setAttribs( array('size'=>'55') )
		         ->addFilter( new Zend_Filter_StringTrim() )
				 ->addValidator( new Zend_Validate_StringLength( array( 'min'=>'3', 'max'=>'255' ) ) )
		         ->setDecorators( $this->_decoratorDefault )
				 ->setRequired( true );
		$this->addElement( $noUnidade );	
		
		$dsEndereco = new Zend_Form_Element_Text( 'ds_endereco' );
		$dsEndereco->setLabel( 'Endereço:' )
			   ->setAttribs( array( 'size'=>'60' ) )
			   ->addFilter( new Zend_Filter_StringTrim() )
			   ->addFilter( new Zend_Filter_Alnum() )
			   ->setDecorators( $this->_decoratorDefault );
		$this->addElement( $dsEndereco );
		
		$nuTelefone = new Zend_Form_Element_Text( 'nu_telefone' );
		$nuTelefone->setLabel( 'Telefone:' )
		            ->setAttribs( array( 'size'=>'15', 'maxlength'=>'20' ) )
		            ->addFilter( new Zend_Filter_StringTrim() )
		            ->addFilter( new Zend_Filter_Alnum() )
		            ->setDecorators( $this->_decoratorDefault );		
		$this->addElement( $nuTelefone );	
                
                $obPessoaRepositorio = new App_Model_PessoaRepository();
                $selectPessoa = new Zend_Form_Element_Select( 'co_responsavel' );
                $selectPessoa->setLabel('Responsavel:');
                $selectPessoa->setAttribs( array('class'=> 'last-child' ) );
                $selectPessoa->setDecorators( $this->_decoratorDefault );
                $selectPessoa->addMultiOptions( Voitech_Util::converteModeloArrayCombo($obPessoaRepositorio->listarTodos(array('st_ativo'=>'S'))
                                            , 'CoPessoa', 'NoPessoa') );
                $selectPessoa->addFilters( array('StringTrim','StripTags') );
                //$selectPessoa->setRequired(true);
                $this->addElement($selectPessoa);
                
                $buttonCancelar = new Zend_Form_Element_Button('Cancelar');
		$buttonCancelar->setAttribs( array('class'=> 'first-child last-child','style'=>'float:left;margin-top: 17px', 'id' => 'btnCancelar' ) )
		           ->removeDecorator( 'label' );
		$this->addElement( $buttonCancelar );

		$buttonCdst = new Zend_Form_Element_Button('Salvar');
		$buttonCdst->setAttribs( array('class'=> 'first-child last-child','style'=>'float:right; margin-top: 17px', 'id' => 'btnSalvar' ) )
		           ->removeDecorator( 'label' );
		
		$this->addElement( $buttonCdst );		
		$this->addDisplayGroup(array('co_tipo_unidade','no_unidade','ds_endereco','nu_telefone','co_responsavel','Cancelar', 'Salvar'),'Cadastro',array('legend' => 'Formulario de cadastro de unidade', 'class'=>'grey-bg first-child last-child fieldset-with-legend fieldset-with-legend-first-child'));
	}
}